#include <errno.h>
#include <limits.h>
#include <stdlib.h>
#include <stdio.h>
namespace CXX_ERRNO_NOT_SET {

	namespace bad_1 {
		void func(const char* c_str) {
			unsigned long number;
			char* endptr;

			number = strtoul(c_str, &endptr, 0);
			if (errno == ERANGE) {

			}
			else {

			}
		}
	}

	namespace bad_2 {
		void func(const char* filename) {
			FILE* fileptr;

			errno = 0;
			fileptr = fopen(filename, "rb");
			if (errno != 0) {

			}

		}
	}


	namespace good_1 {

		void func(const char* c_str) {
			unsigned long number;
			char* endptr;

			errno = 0;
			number = strtoul(c_str, &endptr, 0);
			if (errno == ERANGE) {

			}
			else {

			}
		}

	}

	namespace good_2 {
		void func(const char* filename) {
			FILE* fileptr;

			errno = 0;
			fileptr = fopen(filename, "rb");
			if (errno != 0) {

			}
		}
	}
}